From: Timm Bäder Date: Wed, 28 Aug 2019 12:24:50 +0000 (+0200) Subject: widget: Queue an allocate on native widgets when changing opacity X-Git-Tag: archive/raspbian/4.4.1+ds1-2+rpi1~1^2~321^2^2~916 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=1339c425a8c9bbb33db45dac7c2d5c95c9f9c867;p=gtk4.git widget: Queue an allocate on native widgets when changing opacity This way the opacity change works on toplevel windows on wayland. --- diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index 9dcfd581d5..9d33ffdb66 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -11287,9 +11287,14 @@ gtk_widget_update_alpha (GtkWidget *widget) if (_gtk_widget_get_realized (widget)) { if (GTK_IS_NATIVE (widget)) - gdk_surface_set_opacity (priv->surface, priv->alpha / 255.0); - - gtk_widget_queue_draw (widget); + { + gdk_surface_set_opacity (priv->surface, priv->alpha / 255.0); + gtk_widget_queue_allocate (widget); + } + else + { + gtk_widget_queue_draw (widget); + } } }